from django33_ninja_extra import NinjaExtraAPI, api_controller, http_get

api = NinjaExtraAPI()


# 依旧是支持函数式编程的风格
@api.get("/hello", tags=['基础管理'])
def hello(request, name: str = "张大鹏"):
    return {"msg": f"你好, {name}!"}


# 同时支持类的方式
@api_controller('/math', tags=['数学方法'])
class MathController:
    @http_get('/add')
    def add(self, a: int, b: int):
        """两个数相加"""
        return {"结果": a + b}

    @http_get('/multiply')
    def multiply(self, a: int, b: int):
        """两个数相乘"""
        return {"结果": a * b}


# 注册控制器
api.register_controllers(MathController)
